package com.sql.compare.mapper;

import com.sql.compare.entity.Column;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SqlCompareMapper {
    /**
     * 根据数据库名查询数据库下所有表名
     * @param databaseName 数据库名
     * @author xuepeng
     * @date 2024/1/31 9:40
     */
    List<String> getTableByDataBaseName(@Param("databaseName") String databaseName);
    /**
     * 获取表字段
     * @param databaseName 数据库名
     * @param tableName 表名
     * @author xuepeng
     * @date 2024/1/31 10:04
     */
    List<Column> getTableColumn(@Param("databaseName") String databaseName, @Param("tableName") String tableName);
    /**
     * 获取表索引
     * @param databaseName 数据库名
     * @param tableName 表名
     * @author xuepeng
     * @date 2024/1/31 10:04
     */
    List<Column> getIndex(@Param("databaseName") String databaseName,@Param("tableName") String tableName);
    /**
     * 获取表唯一索引内容，多个索引内容使用”-“进行拼接
     * @param tableName 表名
     * @param primaryList 唯一索引字段
     * @author xuepeng
     * @date 2024/1/31 10:04
     */
    List<String> getContent(@Param("databaseName") String databaseName,@Param("tableName") String tableName,@Param("primaryList") List<String> primaryList);
}